package com.th.supcom.pds.internal.api.phamapply;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.th.supcom.pds.domain.pojo.DeptVsDispensary;

public interface DeptVsDispensaryBasicService
{
    /** 日志记录器. */
    public static final Logger s_logger = LoggerFactory.getLogger (DeptVsDispensaryBasicService.class);

    /**
     * 根据护理单元查询其对应发药药房.
     * 
     * @param deptVsDispensary 传输对象.
     * @return DeptVsDispensary 结果对象.
     */
    public List <DeptVsDispensary> findDeptVsDispensaryListByNurseCode (DeptVsDispensary deptVsDispensary);

    /**
     * 通过主键ID查询表记录.
     * 
     * @param id 主键ID
     * @return 返回DeptVsDispensary
     */
    public DeptVsDispensary getDeptVsDispensaryByID (Long id);

    /**
     * 通过传输对象对应值查询表记录.
     * 
     * @param deptVsDispensary 传输对象.
     * @return DeptVsDispensary 结果对象.
     */
    public List <DeptVsDispensary> findDeptVsDispensaryListByExample (DeptVsDispensary deptVsDispensary);

    /**
     * 通过传输对象对应值查询表记录条数.
     * 
     * @param deptVsDispensary 传输对象.
     * @return 条数.
     */
    public int findDeptVsDispensaryCountByExample (DeptVsDispensary deptVsDispensary);

    /**
     * 通过主键ID更新表记录.
     * 
     * @param deptVsDispensary 要更新的传输对象
     * @return 返回更新条数
     */
    public int modifyDeptVsDispensary (DeptVsDispensary deptVsDispensary);

    /**
     * 批量更新表记录.
     * 
     * @param deptVsDispensary 要更新的传输对象
     * @return 返回更新条数
     */
    public int modifyDeptVsDispensaryList (List <DeptVsDispensary> deptVsDispensaryList);

    /**
     * 通过主键ID更新表记录，字段有值才更新.
     * 
     * @param deptVsDispensary 更新的传输对象.
     * @return 更新条数.
     */
    public int modifyDeptVsDispensaryByExample (DeptVsDispensary deptVsDispensary);
    
    /**
     * 通过科室更新表记录，字段有值才更新.
     * 
     * @param deptVsDispensary 更新的传输对象.
     * @return 更新条数.
     */
    public int modifyDeptVsDispensaryByDispensary(DeptVsDispensary deptVsDispensary);

    /**
     * 通过VO对象插入记录.
     * 
     * @param deptVsDispensary 要插入的传输对象
     */
    public void addDeptVsDispensary (DeptVsDispensary deptVsDispensary);

    /**
     * 通过主键ID删除表记录.
     * 
     * @param id 要删除的表的主键ID
     * @return 删除条数
     */
    public int removeDeptVsDispensaryByID (Long id);

    /**
     * 查询药品类型
     * 
     * @param deptVsDispensary
     * @return
     */
    public List <DeptVsDispensary> findDispenseTypeListByExample (DeptVsDispensary deptVsDispensary);

    /**
     * 查询药品材质类型
     * 
     * @param deptVsDispensary
     * @return
     */
    public List <DeptVsDispensary> findPhamMaterialTypeListByExample (DeptVsDispensary deptVsDispensary);

    /**
     * 更新发药类型药房配置
     * 
     * @param deptVsDispensary
     * @return
     */
    public int modifyDispenseTypeByExample (DeptVsDispensary deptVsDispensary);

    /**
     * 新增发药类型药房配置
     * 
     * @param deptVsDispensary
     */
    public void addDispenseType (DeptVsDispensary deptVsDispensary);

    /**
     * 删除发药类型药房配置
     * 
     * @param id
     * @return
     */
    public int removeDispenseTypeByID (Long id);

    /**
     * 更新药品材质药房配置
     * 
     * @param deptVsDispensary
     * @return
     */
    public int modifyPhamMeterialTypeByExample (DeptVsDispensary deptVsDispensary);

    /**
     * 新增药品材质药房配置
     * 
     * @param deptVsDispensary
     */
    public void addPhamMeterialType (DeptVsDispensary deptVsDispensary);

    /**
     * 删除药品材质药房配置
     * 
     * @param id
     * @return
     */
    public int removePhamMeterialTypeByID (Long id);

    /** 公司版权信息. */
    public static final String copyright = "Copyright 2014, XuNuo Corporation";

    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";

    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";
}
